اسماعیل بخش زاد محمودی

09118315058

09336485452

09373054607

09390617786

http://telegram.me/Electronic_iran

mehrsa_bm

Esmail_bakhshzad@yahoo.com esmail2bakhshzad@gmail.com

*راهنمای سفارش پروژه*




www.labcenter.co.uk/

www.powerengineering.blogfa.com

www.Elecdl.com

www.p30download.com

 

 

 

 

 

 

 

 

 

 

Google

در اين وبلاگ
در كل اينترنت

الکترونیک مقدماتی

مقاومت

سلف

خازن

دیود

دیود زنر

یک سوسازی دیود

ترانزیستور BJT

دیجیتال Digital

الکترونیک صنعتی

تایرستورها Thyristors

ترایاک TRIAC

ماسفت MOSFET

ترانزیستور دوقطبی IGBT

مبدل های DC به DC

اینورترها(DC/AC Inverter)

میکرو الکترونیک AVR

برنامه نویسی Assembl

1. مقدمه

2. دستورات محاسباتی


11.مدارات میکروکنترلر 8051

12.مدارات میکروکنترلر PIC

13.مدارات میکروکنترلر AVR

14.مدارات دیجیتال Digital

15.مدارات آنالوگ Analog

16. ماژول های الکترونیک

 



 


دانلود نرم افزارهای کاربردی

 


Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

ساعت

هدف :برنامه ای به زبان C در محیط CodeVision AVR بنویسید که توسط میکروکنرلر AVR و تراشه DS1307 یک ساعت RTC دقیق و با تبدیل میلادی به شمسی باشد، میدانیم که تراشه مدنظر اطلاعات ش میلادی تنظیم میشود پس باید زیر برنامه ای برای تبدیل این ساعت به شمسی نوشت البته محدود،

ساختار پروژه در شکل زیر رسم شده است

برنامه ساعت با میکرو تبدیل تاریخ میلادی به شمسی

سالهاي شمسي و ميلادي هر دو 365 روزه هستند مگر در سالهاي کبيسه که 366 روز ميباشند که اين استثناء هر 4 سال يکبار اتفاق ميافتد. و دليل آن هم اينست که طول يکسال شمسي و يا ميلادي دقيقأ 365 روز يا (ساعت)24 *(روز)365 =8760 ساعت نميباشد بلکه تقريبأ 365 روز و 4/1 روز يا 6 ساعت است. مقدار دقیق یک سال خورشیدی یا اعتدالی (Solar Year,tropical Year)برابر با 365.2422 روز است بعبارت دیگر مدت زمان یکبار گردش کامل زمین به دور خورشید راکه آنراسال خورشیدی مینامندبرابر است با 365.2422 یا (4.1288192 /1 + 365 )روز متوسط .دائره المعارف دریائی - خسرو مشتری خواه براي جبران و احتساب اين شش ساعت اضافه هر سال بدين ترتيب عمل ميشود که 4 تا از اين شش ساعت ها که 24 ساعت يا يکروز ميشوند را هر 4 سال يکبار سر جمع حساب کرده و به يک سال (که به آن کبيسه ميگويند) اضافه ميکنند و درواقع بدين ترتيب تقويم تنظيم وکاليبزه ميشود که اين موضوع 6 ساعت اختلاف در هر سال را ميتوان در زمان تحويل سال شمسي مشاهده کرد که هر سال نسبت به سال قبل يا بعد حدود 6 ساعت اختلاف ساعت دارد و هر 4 سال يکبار تقريبأ تحويل سال يکي ميشودکه در نهايت اين اختلاف ساعت ها را هر 4 سال يکبار سر جمع کرده و به يکي از سالها(سال کبيسه)همانطوريکه ذکر شد اعمال ميکنند.

نکته:يافتن سالهاي کبيسه ميلادي وشمسي آسان است کافيست يک سال کبيسه را بدانيم و سالهاي 4+يا4- آنرا بدست اوريم مثلأ سال 2008 يک سال کبيسه است و همينطور سالهاي ...و 2000و2004و2008و2012و2016و2020و... سالهاي کبيسه بوده يا هستند. در مورد سالهاي کبيسه شمسي نيز مثلأ سال 1387 سال کبيسه بوده و ...و1379و1383و1387و1391و1395و1399و1403و... نيزسال کبيسه ميباشند. در واقع سالهاي آتي کبيسه قابل پيش بيني و منظور شدن در محاسبات هستند.و تقریبا هر 128 سال سالهای کبیسه همان مضارب 4 سال یکبار را تعقیب میکنند. هر 4 سال(هریک سال کبیسه) 0.7486 ساعت کم می آورد که در مجموع حدود هر 128 سال یکبار نیاز به تنظیم دارد.

نوشتن برنامه برای تبدیل میلادی به شمسی و بلعکس:

براي تبديل تاريخ شمسي به ميلادي و برعکس بايد تعداد روزهاي سپري شده از ابتداي هر کدام از اين تاريخ‌ها را از مبدا خود به دست بياوريم. اگر مي‌خواهيم تاريخ شمسي را به ميلادي تبديل کنيم ابتدا بايد روزهاي سپري شده از مبدا تاريخ شمسي تا کنون را حساب کنيم و آن را به اضافه‌‌ي 226899 بکنيم. عدد به دست آمده تعداد روزهاي گذشته از ابتداي تاريخ ميلادي تا کنون است و با استفاده از آن مي‌توانيم تاريخ ميلادي را حساب کنيم. براي تبديل تاريخ ميلادي به شمسي همين کار را بايد برعکس انجام بدهيم و عدد 226899 را بايد از تعداد روزهاي تاريخ ميلادي کم بکنيم و در اين قسمت عدد به دست آمده تاريخ شمسي است. همين روش نيز براي تبديل تاريخ قمري به شمسي و برعکس نيز قابل استفاده است. ولي در اين مورد ديگر عددي که بايد اضافه يا کم بشود 226899 نيست. شايد از خود بپرسيد که عدد 226899 را از کجا به دست آورده‌‌ام. براي به دست آوردن اين عدد بايد تاريخ شمسي و ميلادي يک روز را در اختيار داشته باشيد. به عنوان مثال 13/4/1383 شمسي طبق تقويم برابر 3/7/2004 ميلادي است. کاري که بايد الا بکنيم اين است که اين دو تاريخ را به روز تبديل کنيم و در اين تبديل بايد تعداد سال‌هاي کبيسه‌اي که اين دو تاريخ پشت سر گذاشته‌اند نيز فراموش نکنيم. براي اينکه تعداد سال‌هاي کبيسه را در دو تقويم ميلادي و شمسي بخواهيم محاسبه کنيم بايد 1382 را براي تقويم شمسي و 2003 را براي تقويم ميلادي تقسيم بر 4 کنيم. خارخ قسمت اين دو تقسيم به ترتيب تعداد سال‌هاي کبيسه‌ي تقويم شمسي و ميلادي است که از ابتداي شروع به کار اين تقويم‌ها تا کنون پشت سر گذاشته‌اند. البته اين اعداد مطابق واقعيت نيستند! ولي به محاسبات ما اشکالي وارد نمي‌کنند.

برنامه تبدیل میلادی به شمسی

  1. نواسان ساز خارجی 8 MHZ
  2. میکرو کنترلر AVR Atmega32
  3. مدار ریست میکروکنترلر Reset
  4. خروجی LCD از نوع کاراکتری و 16 در 2 یعنی دوخط دارد 16 کاراکتر در هر خط
  5. پتانسیومتر تنظیم درخشندگی کاراکتر ها
  6. مدار اسکن کلید
  7. مدار بازر Buzzer برای صدای فشردن کلید ها
  8. اتصالات تراشه DS1307
  9. باطری بک آپ برای نگهداری اطلاعات ساعت در هنگام قطع برق

براي اضافه کردن يک روز سال کبيسه (که دانستن آن براي محاسبات تبديل مهم است)در سال شمسي آن را به آخرين ماه سال يعني اسفند اضافه ميکنند و ماه اسفند در سال کبيسه 30 روزه ميشود و در سال ميلادي آن را به ماه دوم سال يعني فوريه اضافه ميکنند که ماه فوريه در يک سال کبيسه ميلادي 29 روزه ميشود.[بنابراين اشتباه نشود سال کبيسه ميلادي از آخرين روز ماه دوم يعني فوريه عمل ميکند و ميبايست در محاسبات تبديل اعمال نمود لکن در سال شمسي در آخرين روز از ماه آخر يعني اسفند منظور ميشود][...اي ول وبارک اله به تقويم شمسي و ايراني خودمان که قرن ها پيش ایجاد و این قدر دقیق و منطقی وحساب شده تنظیم شده است پس براي نوشتن و درک الگوريتم برنامه تبديل تقويم ها به يکديگر دانستن اطلاعات مربوط به تعداد روزه هاي هر ماه و اينکه سال کبيسه کدام سال بوده و روز اضافه شده در چه روزي از چه ماهي ميبايست اعمال گردد مهم است.

توجه: اگر برنامه را به زبانهای برنامه نویسی دیگر یا تراشه های میکروکنترلر دیگر هم نیاز داشتید می توانم انجام دهم.

راهنمای کامل و گزارشکار آماده و تایپ شده در Microsoft Office Word

برنامه C برای AVR

برنامه ساعت با ممیکرو تبدیل میلادی به شمسی

نکته: آموزش نحوه طراحی و برنامه نویسی تراشه میکروکنترلر AVR به زبان C و توضیح خط به خط برنامه به همراه پروژه برای شما ارسال خواهد شد نمونه ای از بخش های این فایل راهنما در شکل ها آورده شده است:

 


(( سفارش پروژه ))

برای سفارش این برنامه با همین شکل و اجزاء و یا تغییر برنامه مورد نظر به دلخواه خود می توانید از روش های زیر اقدام نمائید، کد سفارش پروژه را ارسال کنید:

هزینه طراحی: SMS-> 0911 831 50 58

کد سفارش پروژه: 103p50

سفارش پروژه >>> Project-esisis.com/Content


برای ارتباط با مدیر سایت از لینکهای زیر استفاده کنید

آدرس کانال سایت در تلگرام : www.telegram.me/Electronic_iran

آیدی جهت ارتباط در تلگرام: @Electronic_iran

 


 

 

 

 

 

 

 

 

 

<img src="Background/Signbot LED (1).gif" width="249" height="49" alt="Signbot LED (1)" />
فروشگاه الکترونیک
کسب درآمد میلیونی در ماه
کانال تلگرام